home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 1035 / 1035.xpi / chrome / 1clickweather.jar / content / 1clickweather / js / utils / xul.js < prev   
Text File  |  2008-10-05  |  6KB  |  244 lines

  1. // ⌐ 2005 The Weather Channel Interactive, Inc.  All Rights Reserved.
  2.  
  3. // handy xul handlers
  4.  
  5. // oXULSimple just does basic handling of common xul widgets
  6. // if you need more complex attributes for a widget, see oXUL below
  7. function oXULSimple(){
  8.    this.setCLass = function(_parent, c){
  9.       _parent.setAttribute("class", c);
  10.    }
  11.  
  12.    this.Spacer = function(_parent, size){
  13.       var pSpacer = document.createElement("spacer");
  14.       pSpacer.setAttribute("flex", 1);
  15.       pSpacer.setAttribute("width", size);
  16.       pSpacer.setAttribute("height", size);
  17.       pSpacer.setAttribute("style", "width: " + size + "; height: " + size + ";");
  18.       _parent.appendChild(pSpacer);
  19.    }
  20.  
  21.    this.Separator = function(_parent){
  22.       var pSeparator = document.createElement("separator");
  23.       pSeparator.setAttribute("flex", 1);
  24.       _parent.appendChild(pSeparator);
  25.    }
  26.  
  27.    this.Image = function(_parent, src, width, height){
  28.       var pImage = document.createElement("image");
  29.       if(src.substring(0,9) == "chrome://"){
  30.          pImage.setAttribute("src", src);
  31.       }else{
  32.          pImage.setAttribute("src", "chrome://1clickweather/skin/" + src);
  33.       }
  34.       pImage.setAttribute("width", width);
  35.       pImage.setAttribute("height", height);
  36.       pImage.setAttribute("style", "font-size: 10pt");
  37.       _parent.appendChild(pImage);
  38.    }
  39.  
  40.    this.Label = function(_parent, contents, bold){
  41.       var pLabel = document.createElement("label");
  42.       pLabel.setAttribute("value", contents);
  43.       pLabel.setAttribute("class", "panelText");
  44.       _parent.appendChild(pLabel);
  45.    }
  46.  
  47.    this.Shim = function(_parent, width, height, c){
  48.       var pImage = document.createElement("image");
  49.       pImage.setAttribute("src", "chrome://1clickweather/skin/icons/other/blank.gif");
  50.       pImage.setAttribute("width", width);
  51.       pImage.setAttribute("height", height);
  52.       if(c){
  53.          pImage.setAttribute("class", c);
  54.       }
  55.       _parent.appendChild(pImage);
  56.    } 
  57. }
  58.  
  59. //////////////////////////////////////////////////////////////////////////
  60. // here is a wierd but cool way of doing a grouping of object definitions
  61. //////////////////////////////////////////////////////////////////////////
  62. var oXUL = Array();
  63.  
  64. // a complex image xul object
  65. oXUL.Image = function(_parent, src){  
  66.    this._parent = _parent;
  67.    var pImage = document.createElement("image");
  68.    if(src.substring(0,9) == "chrome://"){
  69.       pImage.setAttribute("src", src);
  70.    }else{
  71.       pImage.setAttribute("src", "chrome://1clickweather/skin/" + src);
  72.    }
  73.    pImage.setAttribute("style", "font-size: 10pt");
  74.  
  75.    this.setAttribute = function(key, value){
  76.       pImage.setAttribute(key, value);
  77.    }
  78.  
  79.    this.Size = function(width, height){
  80.       pImage.setAttribute("width", width);
  81.       pImage.setAttribute("height", height);
  82.    }
  83.  
  84.    this.Context = function(context){
  85.       pImage.setAttribute("context", context);
  86.    }
  87.  
  88.    this.Align = function(dir){
  89.       if(!dir)
  90.          dir = "center";
  91.  
  92.       pImage.setAttribute("align", dir);
  93.    }
  94.  
  95.    this.Id = function(id){
  96.       pImage.setAttribute("id", this.id);
  97.    }
  98.  
  99.    this.onDblClick = function(cmd){
  100.       pImage.setAttribute("ondblclick", cmd);
  101.    }
  102.  
  103.    this.onClick = function(cmd){
  104.       pImage.setAttribute("onclick", cmd);
  105.    }
  106.  
  107.    this.onCommand = function(cmd){
  108.       pImage.setAttribute("oncommand", cmd);
  109.    }
  110.  
  111.    this.Tooltip = function(tooltip){
  112.       if(typeof(tooltip) == "string"){
  113.          pImage.setAttribute("tooltiptext", tooltip);
  114.       }else{
  115.          pImage.setAttribute("tooltip", tooltip);
  116.       }
  117.    }
  118.  
  119.    this.Make = function(){
  120.       this._parent.appendChild(pImage);
  121.    }
  122. }
  123.  
  124. // a complex label xul object
  125. oXUL.Label = function(_parent, value){ 
  126.    this._parent = _parent;
  127.    var pLabel = document.createElement("label");
  128.    pLabel.setAttribute("class", "panelText");
  129.  
  130.    if(value){
  131.       pLabel.setAttribute("value", value);
  132.    }
  133.  
  134.    this.setAttribute = function(key, value){
  135.       pLabel.setAttribute(key, value);
  136.    }
  137.  
  138.    this.setClass = function(c){
  139.       pLabel.setAttribute("class", c);
  140.    }
  141.  
  142.    this.Context = function(context){
  143.       pLabel.setAttribute("context", context);
  144.    }
  145.  
  146.    this.Align = function(dir){
  147.       if(!dir)
  148.          dir = "center";
  149.  
  150.       pLabel.setAttribute("align", dir);
  151.    }
  152.  
  153.    this.Id = function(id){
  154.       pLabel.setAttribute("id", id);
  155.    }
  156.    
  157.    this.Value = function(value){
  158.       pLabel.setAttribute("value", value);
  159.    }
  160.  
  161.    this.Bold = function(){
  162.       pLabel.setAttribute("class", "header");
  163.    }
  164.  
  165.    this.Color = function(color){
  166.       pLabel.setAttribute("style", "color: " + color);
  167.    }
  168.  
  169.    this.Size = function(size){
  170.       pLabel.setAttribute("style", "font-size: " + size + "pt");
  171.    }
  172.  
  173.    this.onDblClick = function(cmd){
  174.       pLabel.setAttribute("ondblclick", cmd);
  175.    }
  176.  
  177.    this.onClick = function(cmd){
  178.       pLabel.setAttribute("onclick", cmd);
  179.    }
  180.  
  181.    this.onCommand = function(cmd){
  182.       pLabel.setAttribute("oncommand", cmd);
  183.    }
  184.  
  185.    this.Tooltip = function(tooltip){
  186.       if(typeof(tooltip) == "string"){
  187.          pLabel.setAttribute("tooltiptext", tooltip);
  188.       }else{
  189.          pLabel.setAttribute("tooltip", tooltip);
  190.       }
  191.    }
  192.  
  193.    this.Make = function(){
  194.       this._parent.appendChild(pLabel);
  195.    }
  196.  
  197. }
  198.  
  199. // a complex image xul object
  200. oXUL.iconByID = function(_parent, iconID){  
  201.    this._parent = _parent;
  202.    var pImage = document.createElement("image");
  203.    pImage.setAttribute("src", GlobalAppConfig.getIconByID(iconID).getURL());
  204.    pImage.setAttribute("width", GlobalAppConfig.getIconByID(iconID).getWidth());
  205.    pImage.setAttribute("height", GlobalAppConfig.getIconByID(iconID).getHeight());
  206.  
  207.    this.setAttribute = function(key, value){
  208.       pImage.setAttribute(key, value);
  209.    }
  210.  
  211.    this.Context = function(context){
  212.       pImage.setAttribute("context", context);
  213.    }
  214.  
  215.    this.Id = function(id){
  216.       pImage.setAttribute("id", this.id);
  217.    }
  218.  
  219.    this.onDblClick = function(cmd){
  220.       pImage.setAttribute("ondblclick", cmd);
  221.    }
  222.  
  223.    this.onClick = function(cmd){
  224.       pImage.setAttribute("onclick", cmd);
  225.    }
  226.  
  227.    this.onCommand = function(cmd){
  228.       pImage.setAttribute("oncommand", cmd);
  229.    }
  230.  
  231.    this.Tooltip = function(tooltip){
  232.       if(typeof(tooltip) == "string"){
  233.          pImage.setAttribute("tooltiptext", tooltip);
  234.       }else{
  235.          pImage.setAttribute("tooltip", tooltip);
  236.       }
  237.    }
  238.  
  239.    this.Make = function(){
  240.       this._parent.appendChild(pImage);
  241.    }
  242. }
  243.  
  244.